#include "StdAfx.h"
#include "disco.h"
#include "btime.h"		//for port info
#include "machine/DiscoMachine.h"

static dip_t dip1[] =
	{
	{"Coin 1",2,3,{{"2 coins/1 credit",0},{"1 coin/3 credits",1},{"1 coin/2 credits",2},{"1 coin/1 credit",3}}},
	{"Coin 2",2,0x0C,{{"2 coins/1 credit",0},{"1 coin/3 credits",4},{"1 coin/2 credits",8},{"1 coin/1 credit",0xC}}},
	{"Unknown",1,0x10,{{"off",0},{"on",0x10}}},
	{"Unknown",1,0x20,{{"off",0},{"on",0x20}}},
	{"Cabinet type",1,0,{{"upright",0},{"cocktail",0x40}}},
	{"Unknown",1,0,{{"off",0},{"on",0x80}}},
	{0,0,0,0,0}	
	};

static dip_t dip2[] =
	{
	{"Lives",1,1,{{"3",0},{"5",1}}},
	{"Bonus life",2,6,{{"10,000",0},{"20,000",2},{"30,000",4},{"none",6}}},
	{"Weapons",1,8,{{"5",0},{"8",8}}},
	{"Unknown",1,0,{{"off",0},{"on",0x10}}},
	{"Unknown",1,0,{{"off",0},{"on",0x20}}},
	{"Unknown",1,0,{{"off",0},{"on",0x40}}},
	{"Unknown",1,0,{{"off",0},{"on",0x80}}},
	{0,0,0,0,0}	
	};

Cdisco::Cdisco()
{
SetName("disco");							//set romset name
SetScreen(256,256,ROTATE_270);
SetDip(0,dip1);
SetDip(1,dip2);
SetPort(0,&btimePort1);
SetPort(1,&btimePort2);
SetPort(2,&btimePort3);
AddROM("disco.w5",0xA000,0x1000,0xb2c87b78,ROM_CPU1);
AddROM("disco.w4",0xB000,0x1000,0xad7040ee,ROM_CPU1);
AddROM("disco.w3",0xC000,0x1000,0x12fb4f08,ROM_CPU1);
AddROM("disco.w2",0xD000,0x1000,0x73f6fb2f,ROM_CPU1);
AddROM("disco.w1",0xE000,0x1000,0xee7b536b,ROM_CPU1);
AddROM("disco.w0",0xF000,0x1000,0x7c26e76b,ROM_CPU1);
AddROM("disco.w6",0xF000,0x1000,0xd81e781e,ROM_CPU2);
AddROM("disco.clr",0x0020,0x0020,0xa393f913,ROM_PROM);
}

CMachine *Cdisco::CreateMachine()
{
return(new CDiscoMachine());
}
